This demonstrates how to use the functions in safegraph_process_patterns_functions.R.

library(tidyverse)
library(tigris)
library(sf)
library(mapview)

Sys.setenv(CENSUS_KEY="b88495f8315f45b2d100dee9ba8f4c489a7371c2")

options(
  tigris_class = "sf",
  tigris_use_cache = TRUE
)

# Load the processing functions. This also loads the normalization functions.
source("safegraph_process_patterns_functions.R")

# SET your path here to the covid19analysis folder.
sg_path <- 'P:/SFBI/Restricted Data Library/Safegraph/covid19analysis/'

# SET your path here to the github covid folder
github_path  <- ''

The functions don’t use ca_poi.rds but you will likely want make use of it to get NAICS codes and lat/long for POIs.

poi_ca <- readRDS(paste0(sg_path,'ca_poi.rds'))

Load weekly patterns and corresponding home panel summary.

patterns_W190311 <- 
  readRDS(paste0(sg_path,'weekly-patterns/v2/main-file/2019-03-11-weekly-patterns-ca.rds'))
hps_W190311 <- 
  readRDS(paste0(sg_path,'weekly-patterns/v2/home-summary-file/2019-03-11-home-panel-summary.rds'))

Filter by geography or POI type if desired. This will speed up the processing. I’m demonstrating below how to filter by spatial join because the city field in Safegraph may not be accurate for some POIs.

sj_patterns_W190311 <-
  patterns_W190311 %>% 
  left_join(
    poi_ca %>%
      dplyr::select(
        safegraph_place_id,
        longitude,
        latitude,
        naics_code
      ), 
    by = "safegraph_place_id"
  ) %>% 
  filter(!is.na(longitude)) %>% 
  mutate(
    long = longitude,
    lat = latitude
  ) %>% 
  st_as_sf(coords = c("long","lat")) %>% 
  st_set_crs(4326) %>% 
  st_join(
    places("CA", cb=F, progress_bar=F) %>% 
      filter(NAME == "San Jose") %>% 
      st_transform(4326) %>% 
      dplyr::select(NAME),
    left=F
  )

sj_grocery_patterns_W190311 <-
  sj_patterns_W190311 %>% 
  filter(naics_code == 445110)

kable(
  head(
    sj_grocery_patterns_W190311 %>% 
      dplyr::select(
        location_name,
        street_address,
        raw_visit_counts
        ) %>% 
      arrange(desc(raw_visit_counts))
  )
)
location_name street_address raw_visit_counts geometry
Safeway 6477 Almaden Expy 384 c(-121.861449, 37.219503)
Safeway 5760 Cottle Rd 339 c(-121.802882, 37.246445)
Sprouts Farmers Market 1130 Branham Ln 321 c(-121.878189, 37.261821)
Lucky Supermarkets 565 W Capitol Expy 318 c(-121.85383, 37.276111)
Safeway 1300 W San Carlos St 317 c(-121.911924, 37.322976)
Cisco Lakeview Cafe 225 E Tasman Dr 287 c(-121.935025, 37.414563)

Now we will start using the processing functions. First, just using normBG() will expand the origins but otherwise provide normalized visit counts for the week. You can group_by(safegraph_place_id) to sum up the weekly visit counts for a POI, or you can group_by(origin_census_block_group) to sum up the weekly visit counts for origins.

sj_grocery_patterns_W190311_weekly <-
  normBG(sj_grocery_patterns_W190311,hps_W190311)

# saveRDS(sj_grocery_patterns_W190311_weekly, paste0(sg_path,"weekly-patterns/v2/sj_grocery_patterns_W190311_weekly.rds"))
# sj_patterns_W190311_daily <- readRDS(paste0(sg_path,"sj_grocery_patterns_W190311_weekly.rds"))

kable(
  sj_grocery_patterns_W190311_weekly %>%  
    arrange(desc(raw_visit_counts)) %>% 
    dplyr::select(
      location_name,
      street_address,
      origin_census_block_group,
      origin_raw_visitor_counts_high,
      origin_raw_visitor_counts_low,
      visit_counts_high,
      visit_counts_low
    ) %>% 
    .[1:37,]
)
location_name street_address origin_census_block_group origin_raw_visitor_counts_high origin_raw_visitor_counts_low visit_counts_high visit_counts_low
Safeway 6477 Almaden Expy 060855119051 24 24 561.50487 561.50487
Safeway 6477 Almaden Expy 060855119093 21 21 440.18876 440.18876
Safeway 6477 Almaden Expy 060855119072 20 20 619.54938 619.54938
Safeway 6477 Almaden Expy 060855119092 18 18 368.30534 368.30534
Safeway 6477 Almaden Expy 060855119121 17 17 330.08034 330.08034
Safeway 6477 Almaden Expy 060855119122 15 15 449.70100 449.70100
Safeway 6477 Almaden Expy 060855119113 13 13 265.52646 265.52646
Safeway 6477 Almaden Expy 060855119112 11 11 257.79550 257.79550
Safeway 6477 Almaden Expy 060855119103 10 10 249.88451 249.88451
Safeway 6477 Almaden Expy 060855119071 10 10 234.20204 234.20204
Safeway 6477 Almaden Expy 060855119143 10 10 220.91425 220.91425
Safeway 6477 Almaden Expy 060855119102 9 9 153.73839 153.73839
Safeway 6477 Almaden Expy 060855119091 9 9 240.55959 240.55959
Safeway 6477 Almaden Expy 060855119123 9 9 210.93045 210.93045
Safeway 6477 Almaden Expy 060855119141 7 7 169.06276 169.06276
Safeway 6477 Almaden Expy 060855119111 6 6 177.21293 177.21293
Safeway 6477 Almaden Expy 060855119101 6 6 141.97835 141.97835
Safeway 6477 Almaden Expy 060855119131 4 2 107.95463 53.97732
Safeway 6477 Almaden Expy 060855067021 4 2 124.87060 62.43530
Safeway 6477 Almaden Expy 060855030032 4 2 174.19359 87.09680
Safeway 6477 Almaden Expy 060855061021 4 2 114.52448 57.26224
Safeway 6477 Almaden Expy 060552003022 4 2 139.91687 69.95843
Safeway 6477 Almaden Expy 060855119132 4 2 157.28144 78.64072
Safeway 6477 Almaden Expy 060855029092 4 2 74.20958 37.10479
Safeway 6477 Almaden Expy 060855011023 4 2 42.45886 21.22943
Safeway 6477 Almaden Expy 060855035061 4 2 115.29726 57.64863
Safeway 6477 Almaden Expy 060372765002 4 2 86.29815 43.14907
Safeway 6477 Almaden Expy 060855067023 4 2 129.82007 64.91003
Safeway 6477 Almaden Expy 060855123073 4 2 166.16978 83.08489
Safeway 6477 Almaden Expy 060855029072 4 2 107.52300 53.76150
Safeway 6477 Almaden Expy 060855120371 4 2 113.50124 56.75062
Safeway 6477 Almaden Expy 060855120301 4 2 67.94267 33.97133
Safeway 6477 Almaden Expy 060855018001 4 2 152.52270 76.26135
Safeway 6477 Almaden Expy 060855023011 4 2 126.21927 63.10963
Safeway 6477 Almaden Expy 060855122002 4 2 81.81036 40.90518
Safeway 6477 Almaden Expy 060855119133 4 2 92.99528 46.49764
Safeway 6477 Almaden Expy NA 10 48 256.72706 1232.28987
grocery_visits_cbg <-
  sj_grocery_patterns_W190311_weekly %>% 
    group_by(origin_census_block_group) %>% 
    summarize(visit_counts_high = sum(visit_counts_high)) %>% 
    left_join(
      block_groups("CA","Santa Clara", cb=F,progress_bar=F) %>% 
        dplyr::select(origin_census_block_group = GEOID)
    ) %>% 
    st_as_sf() %>% 
  filter(!is.na(origin_census_block_group))

mapview(
  grocery_visits_cbg,
  zcol = "visit_counts_high",
  layer.name = "Week of<br>3/11/19<br>Grocery<br>Visits"
)

Next, getting daily visits.

sj_grocery_patterns_W190311_daily <-
  process_patterns_daily(sj_grocery_patterns_W190311,hps_W190311)

sj_grocery_patterns_W190311_daily <-
  sj_grocery_patterns_W190311_daily %>% 
  left_join(
    sj_patterns_W190311 %>% 
      as.data.frame() %>% 
      dplyr::select(
        safegraph_place_id,
        location_name,
        street_address,
        naics_code
      )
  )

kable(
  sj_grocery_patterns_W190311_daily %>% 
    arrange(desc(raw_visit_counts),date) %>% 
    dplyr::select(
      location_name,
      street_address,
      date,
      daily_visits,
      visit_counts_high,
      visit_counts_low
    ) %>% 
    .[1:7,]
)
location_name street_address date daily_visits visit_counts_high visit_counts_low
Safeway 6477 Almaden Expy 2019-03-11 59 1155.9347 1138.6969
Safeway 6477 Almaden Expy 2019-03-12 45 881.6451 868.4976
Safeway 6477 Almaden Expy 2019-03-13 53 1038.3820 1022.8972
Safeway 6477 Almaden Expy 2019-03-14 40 783.6846 771.9979
Safeway 6477 Almaden Expy 2019-03-15 55 1077.5663 1061.4971
Safeway 6477 Almaden Expy 2019-03-16 62 1214.7111 1196.5967
Safeway 6477 Almaden Expy 2019-03-17 70 1371.4480 1350.9963
ggplot(
  data = sj_grocery_patterns_W190311_daily %>% 
    group_by(date) %>% 
    summarize(
      visit_counts_high = sum(visit_counts_high),
      visit_counts_low = sum(visit_counts_low)
    )
) +
  geom_line(
    aes(
      x = date,
      y = visit_counts_high
    )
  ) +
  geom_line(
    aes(
      x = date,
      y = visit_counts_low
    )
  )

Next, hourly. I will just use grocery stores.

sj_grocery_patterns_W190311_hourly <-
  process_patterns_hourly(sj_grocery_patterns_W190311,hps_W190311)

sj_grocery_patterns_W190311_hourly <-
  sj_grocery_patterns_W190311_hourly %>% 
  left_join(
    sj_patterns_W190311 %>% 
      as.data.frame() %>% 
      dplyr::select(
        safegraph_place_id,
        location_name,
        street_address,
        naics_code
      )
  )

kable(
  sj_grocery_patterns_W190311_hourly %>% 
    arrange(desc(raw_visit_counts),date,hour) %>% 
    dplyr::select(
      location_name,
      street_address,
      date,
      hour,
      hourly_visits,
      visit_counts_hourly_high,
      visit_counts_hourly_low
    ) %>% 
    .[1:168,]
)
location_name street_address date hour hourly_visits visit_counts_hourly_high visit_counts_hourly_low
Safeway 6477 Almaden Expy 2019-03-11 1 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-11 2 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 4 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 5 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-11 6 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-11 7 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 8 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-11 9 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-11 10 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-11 11 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 12 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 13 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-11 14 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-11 15 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-11 16 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 17 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 18 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 19 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 20 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-11 21 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-11 22 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 23 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-11 24 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 1 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 2 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 4 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 5 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 6 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 7 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 8 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 9 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-12 10 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 11 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 12 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-12 13 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 14 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-12 15 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-12 16 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-12 17 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-12 18 10 195.92114 192.99947
Safeway 6477 Almaden Expy 2019-03-12 19 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-12 20 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-12 21 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-12 22 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 23 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-12 24 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 1 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 2 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 4 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-13 5 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 6 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 7 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 8 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-13 9 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-13 10 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-13 11 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 12 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-13 13 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-13 14 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-13 15 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 16 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-13 17 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-13 18 7 137.14480 135.09963
Safeway 6477 Almaden Expy 2019-03-13 19 8 156.73691 154.39958
Safeway 6477 Almaden Expy 2019-03-13 20 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-13 21 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-13 22 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-13 23 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-13 24 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 1 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 2 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 4 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-14 5 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 6 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 7 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 8 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 9 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-14 10 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-14 11 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-14 12 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 13 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-14 14 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-14 15 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-14 16 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-14 17 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 18 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-14 19 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-14 20 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-14 21 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-14 22 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 23 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-14 24 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 1 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 2 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 4 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 5 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 6 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 7 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 8 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-15 9 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 10 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-15 11 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-15 12 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-15 13 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-15 14 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-15 15 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-15 16 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-15 17 7 137.14480 135.09963
Safeway 6477 Almaden Expy 2019-03-15 18 7 137.14480 135.09963
Safeway 6477 Almaden Expy 2019-03-15 19 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-15 20 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-15 21 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-15 22 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-15 23 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-15 24 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-16 1 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 2 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 3 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-16 4 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 5 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 6 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 7 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 8 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-16 9 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-16 10 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-16 11 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-16 12 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-16 13 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-16 14 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-16 15 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-16 16 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-16 17 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-16 18 9 176.32903 173.69952
Safeway 6477 Almaden Expy 2019-03-16 19 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-16 20 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-16 21 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-16 22 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-16 23 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-16 24 2 39.18423 38.59989
Safeway 6477 Almaden Expy 2019-03-17 1 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-17 2 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 3 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-17 4 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-17 5 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 6 0 0.00000 0.00000
Safeway 6477 Almaden Expy 2019-03-17 7 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 8 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 9 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-17 10 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-17 11 9 176.32903 173.69952
Safeway 6477 Almaden Expy 2019-03-17 12 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-17 13 8 156.73691 154.39958
Safeway 6477 Almaden Expy 2019-03-17 14 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-17 15 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 16 6 117.55268 115.79968
Safeway 6477 Almaden Expy 2019-03-17 17 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-17 18 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-17 19 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-17 20 4 78.36846 77.19979
Safeway 6477 Almaden Expy 2019-03-17 21 3 58.77634 57.89984
Safeway 6477 Almaden Expy 2019-03-17 22 1 19.59211 19.29995
Safeway 6477 Almaden Expy 2019-03-17 23 5 97.96057 96.49974
Safeway 6477 Almaden Expy 2019-03-17 24 0 0.00000 0.00000
ggplot()+
  geom_line(
    data = sj_grocery_patterns_W190311_hourly %>% 
      group_by(date, hour) %>% 
      summarize(visit_counts_hourly_high = sum(visit_counts_hourly_high)),
    aes(
      x = hour,
      y = visit_counts_hourly_high,
      group = date,
      color = date
    )
  )

ggplot(
  data = sj_grocery_patterns_W190311_hourly %>% 
    group_by(safegraph_place_id) %>% 
    arrange(date,hour) %>% 
    mutate(
      hour_full = 1:168
    ) %>% 
    ungroup() %>% 
    group_by(hour_full) %>% 
    summarize(
      visit_counts_hourly_high = sum(visit_counts_hourly_high),
      visit_counts_hourly_low = sum(visit_counts_hourly_low)
    )
) +
  geom_line(
    aes(
      x = hour_full,
      y = visit_counts_hourly_high
    )
  ) +
  geom_line(
    aes(
      x = hour_full,
      y = visit_counts_hourly_low
    )
  )